﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace G.Service.Push.Win8.BadgeContent
{
    /// <summary>
    /// Base badge notification content interface.
    /// </summary>
    public interface IBadgeNotificationContent : INotificationContent
    {
#if !WINRT_NOT_PRESENT
        /// <summary>
        /// Creates a WinRT BadgeNotification object based on the content.
        /// </summary>
        /// <returns>A WinRT BadgeNotification object based on the content.</returns>
        BadgeNotification CreateNotification();
#endif
    }

    /// <summary>
    /// The types of glyphs that can be placed on a badge.
    /// </summary>
    public enum GlyphValue
    {
        /// <summary>
        /// No glyph.  If there is a numeric badge, or a glyph currently on the badge,
        /// it will be removed.
        /// </summary>
        None = 0,
        /// <summary>
        /// A glyph representing application activity.
        /// </summary>
        Activity,
        /// <summary>
        /// A glyph representing an alert.
        /// </summary>
        Alert,
        /// <summary>
        /// A glyph representing availability status.
        /// </summary>
        Available,
        /// <summary>
        /// A glyph representing away status
        /// </summary>
        Away,
        /// <summary>
        /// A glyph representing busy status.
        /// </summary>
        Busy,
        /// <summary>
        /// A glyph representing that a new message is available.
        /// </summary>
        NewMessage,
        /// <summary>
        /// A glyph representing that media is paused.
        /// </summary>
        Paused,
        /// <summary>
        /// A glyph representing that media is playing.
        /// </summary>
        Playing,
        /// <summary>
        /// A glyph representing unavailable status.
        /// </summary>
        Unavailable,
        /// <summary>
        /// A glyph representing an error.
        /// </summary>
        Error,
        /// <summary>
        /// A glyph representing attention status.
        /// </summary>
        Attention
    }
}
